Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deLog.hpp

Go to the documentation of this file.
00001 ///////////////////////////////////////////////////////////////////////////////
00002 /// @file deLog.hpp
00003 ///
00004 /// @brief Error and Logging Class
00005 ///
00006 /// @author Hootie
00007 ///
00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the
00009 /// contents of this file is subject to the Destiny3D Member License which
00010 /// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
00011 ///
00012 /// This file is distributed "AS IS" without warranty of any kind.  Novus
00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file
00014 /// for any particular purpose.
00015 ///
00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved.
00017 ///
00018 /// <hr>
00019 ///                                 Change History
00020 /// <hr>
00021 ///
00022 /// @date Dec 2001
00023 /// @author Hootie
00024 /// @remarks Creation
00025 ///
00026 ///////////////////////////////////////////////////////////////////////////////
00027 
00028 #ifndef DELOG_HPP
00029 #define DELOG_HPP
00030 
00031 
00032 
00033 //=================================================================================
00034 // Includes
00035 //=================================================================================
00036 
00037 #include "deGlobalTypes.hpp"
00038 #include "deInternalValues.hpp"
00039 
00040 
00041 //=================================================================================
00042 // DLL Import/Export Defines
00043 //=================================================================================
00044 
00045 #if defined(DELOG_DLL_EXPORTS) || defined(DESTINY3D_EXPORT_ALL)
00046 #   define DELOGAPI extern "C" DEDLL_EXPORT
00047 #elif defined(DESTINY3D_STATIC_LINK)
00048 #   define DELOGAPI extern "C"
00049 #else
00050 #   define DELOGAPI extern "C" DEDLL_IMPORT
00051 #endif
00052 
00053 #ifdef USING_DESTINY3D
00054 #ifdef _DEBUG
00055 #   ifdef DESTINY3D_STATIC_LINK
00056 #       pragma comment(lib, "deLog_sd")
00057 #   else
00058 #       pragma comment(lib, "deLogd")
00059 #   endif //DESTINY3D_STATIC_LINK
00060 #else
00061 #   ifdef DESTINY3D_STATIC_LINK
00062 #       pragma comment(lib, "deLog_s")
00063 #   else
00064 #       pragma comment(lib, "deLog")
00065 #   endif //DESTINY3D_STATIC_LINK
00066 #endif //_DEBUG
00067 #endif //USING_DESTINY3D
00068 
00069 
00070 
00071 //=================================================================================
00072 // deLog Config File Keys
00073 //=================================================================================
00074 
00075 const char ConfigLogType[] = "Destiny";
00076 
00077 
00078 
00079 //=================================================================================
00080 // Log and Error Level Types
00081 //=================================================================================
00082 
00083 
00084 
00085 //=================================================================================
00086 // IdeLog Class
00087 //
00088 // Error and Logging Interface Base Class
00089 //=================================================================================
00090 
00091 /// an error and event logging class
00092 //class IdeLog
00093 DE3D_INTERFACE_(IdeLog)
00094 {
00095 protected:
00096 public:
00097     virtual ~IdeLog()  {};
00098 
00099     typedef enum
00100     {
00101         DEERROR_WARNING,
00102         DEERROR_ERROR,
00103         DEERROR_FATAL
00104     } deErrorLevelType;
00105 
00106     virtual deBoolean GetCreationResult(void) = 0;
00107 
00108     virtual void Error(deErrorLevelType ErrorLevel, unsigned int ErrorCode) = 0;
00109     virtual void Error(deErrorLevelType ErrorLevel, char *Format, ...) = 0;
00110 
00111     virtual void ErrorStart(deErrorLevelType ErrorLevel) = 0;
00112     virtual void ErrorAddLine(unsigned int ErrorCode) = 0;
00113     virtual void ErrorAddLine(char *Format, ...) = 0;
00114     virtual void ErrorEnd(deErrorLevelType ErrorLevel) = 0;
00115 
00116     virtual void Log(char *Format, ...) = 0;
00117 
00118     virtual void LogFunctionStart(const char *FunctionName) = 0;
00119     virtual void LogParamListStart() = 0;
00120     virtual void LogParamListEnd() = 0;
00121     virtual void LogFunctionEnd(const char *FunctionName) = 0;
00122 
00123     virtual void LogVariable(const char *VarName, char *Format, ...) = 0;
00124 };
00125 
00126 
00127 
00128 //=================================================================================
00129 // Error and Logging Interface Factories
00130 //=================================================================================
00131 
00132     DELOGAPI IdeLog *GetIdeLogInterface(char *LogName);
00133 typedef IdeLog* (*fGetIdeLogInterface)(char *LogName);
00134 
00135 
00136 
00137 #endif  //End DELOG_HPP
00138 

Generated on Mon Sep 12 19:58:29 2005 for Destiny3D by doxygen1.3-rc3